package com.ys.service.storage;

import com.alibaba.fastjson.JSONArray;
import com.ys.entity.storage.TccLogisticsComprehensive;
import com.ys.vo.R;

import java.util.List;
import java.util.Map;


//物流订单
public interface TccLogisticsComprehensiveOrderService {


	/**
	 * 物流计划单 = 》 新增物流订单
	 * @param  tccLogisticsComprehensiveList 需要生成同一个物流订单的物流(计划，订单，对账)表信息
	 * @return 返回结果
	 */
	R add(List<TccLogisticsComprehensive> tccLogisticsComprehensiveList) throws Exception;


	//物流信息导入
	R locationImport(String rows,Long menuId)throws Exception;

	/**
	 * 取消操作
	 * @param choooseDatas 选择的数据
	 */
	R doCancel(String choooseDatas)throws Exception;

	/**
	 * 确认下单
	 * @param logInvoiceNo 发票号
	 */
	R confirm(String logInvoiceNo)throws Exception;

	//批量导入C88文件
	R saveC88FileByBatch(JSONArray detailJA)throws Exception;

	//物流发票导出 - 按物流发票单导出
	R invoiceExport(List<Map<String, Object>> chooseList)throws Exception;


	/**
	 * 物流订单取消（api）
	 * @param choooseList 选择的数据
	 */
	R apiCancel(List<Map<String, Object>> choooseList)throws Exception;


	/**
	 * 标签获取打印（api）
	 * @param choooseList 选择的数据
	 */
	R apiPrintTag(List<Map<String, Object>> choooseList)throws Exception;


	List<Map<String, Object>> getInfoByCreateOrder(TccLogisticsComprehensive tccLogisticsComprehensive)throws Exception;


	/**
	 * api下单
	 * @param logInvoiceNo 发票信息
	 */
	R apiPlaceOrder(String logInvoiceNo)throws Exception;

	/**
	 * C88文件下载（api）
	 * @param choooseList 选择的数据
	 */
	R apiGetC88(List<Map<String, Object>> choooseList)throws Exception;


	/**
	 * 获取目的地
	 * @param valueot 国家(US)
	 * @return
	 */
	String getDest(String valueot)throws Exception;


	/**
	 * 获取快驿通C88文件（api）- 定时器
	 */
	void apiGetC88ByTimerKyt()throws Exception;


	/**
	 * 获取快驿通追踪编号（api）- 定时器
	 */
	void apiGetTrackNoByTimerKyt()throws Exception;


	/**
	 * 物流轨迹查询
	 */
	R trackingSearch(String logInvoiceNo)throws Exception;

	/**
	 * 按单收费核算
	 */
	R countCost(String logisticsMarkingBid)throws Exception;

	/**
	 * 按单收费核算取消
	 */
	R countCostCancel(String logisticsMarkingBid)throws Exception;

}
